package com.ponhu.ea2.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * @author Wang
 * @date 2022/3/22 3:48 下午
 */
@Data
@Accessors(chain = true)
public class ESPickInventoryVo implements Serializable {
    private static final long serialVersionUID = -2273791400927849922L;
    @ApiModelProperty("货品ID")
    private Long inventoryId;
    @ApiModelProperty("商品ID")
    private Long goodsId;
    @ApiModelProperty("货品编码")
    private String inventoryCode;
    @ApiModelProperty("货品名称")
    private String inventoryName;
    @ApiModelProperty("物料ID")
    private Long materialId;
    @ApiModelProperty("物料编码")
    private String materialCode;
    @ApiModelProperty("物料名称")
    private String materialName;

    @ApiModelProperty("品牌ID")
    private Long brandId;
    @ApiModelProperty("品牌中文名称")
    private String brandCnName;
    @ApiModelProperty("品牌英文名称")
    private String brandEnName;

    @ApiModelProperty(value = "三级品类Id")
    private Long categoryId;
    @ApiModelProperty(value = "三级品类名称")
    private String categoryName;
    @ApiModelProperty(value = "二级品类Id")
    private Long secondCategoryId;
    @ApiModelProperty(value = "二级品类名称")
    private String secondCategoryName;
    @ApiModelProperty(value = "一级品类Id")
    private Long firstCategoryId;
    @ApiModelProperty(value = "一级品类名称")
    private String firstCategoryName;

    @ApiModelProperty("成色ID")
    private Integer qualityId;
    @ApiModelProperty("成色值")
    private String qualityValue;

    @ApiModelProperty("系列ID")
    private String seriesId;
    @ApiModelProperty("系列名称")
    private String seriesName;

    @ApiModelProperty("型号ID")
    private String modelId;
    @ApiModelProperty("型号名称")
    private String modelName;

    @ApiModelProperty("主图")
    private String mainImage;
    @ApiModelProperty("细节图")
    private String detailImage;

    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss", timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;
    @ApiModelProperty("1二奢，2标品")
    private Integer isSecondhand;

    @ApiModelProperty("货品成本")
    private BigDecimal inventoryCost;
    @ApiModelProperty("入库价")
    private BigDecimal warehousePrice;
    @ApiModelProperty("含税销售价")
    private BigDecimal saleTaxPrice;
    @ApiModelProperty("含税供货价")
    private BigDecimal supplyTaxPrice;
    @ApiModelProperty("养护价")
    private BigDecimal maintenancePrice;
    @ApiModelProperty(value = "检测备注")
    private String maintainRemarks;
    @ApiModelProperty(value = "检测结果")
    private String maintainResult;

    @ApiModelProperty(value = "中检状态：1未中检，2中检已通过，3中检未通过")
    private Integer ccicStatus;
    @ApiModelProperty(value = "鉴定师")
    private String appraiserName;
    @ApiModelProperty(value = "原产地")
    private String provenance;
    @ApiModelProperty(value = "瑕疵")
    private String flaw;
    @ApiModelProperty("卖点")
    private String sellingPoint;
    @ApiModelProperty("包号")
    private String propertyBagNo;
    @ApiModelProperty("表号")
    private String propertyWatchNo;

    @ApiModelProperty(value = "适用人群")
    private String applyCrowd;
    @ApiModelProperty(value = "件")
    private String materialUnit;
    @ApiModelProperty(value = "上市时间")
    private String marketDate;
    @ApiModelProperty("官网售价")
    private BigDecimal officialPrice;

    @ApiModelProperty("可售数")
    private Integer totalSalesStockNum;
    @ApiModelProperty("实物数")
    private Integer totalRealStockNum;
    @ApiModelProperty("调拨在途数")
    private Integer freeStockNum;
    @ApiModelProperty("在库开始时间")
    private Date warehouseAliveStart;
    @ApiModelProperty("在库结束时间")
    private Date warehouseAliveEnd;

    @ApiModelProperty("附件数据")
    private List<String> annexList;
    @ApiModelProperty("配件数据")
    private List<String> accessoryList;

    @ApiModelProperty("备注")
    private String remarks;

    @ApiModelProperty("货品属性数据")
    private List<ESPickInventoryPropVo> inventoryPropData;
    @ApiModelProperty("物料属性数据")
    private List<ESPickInventoryPropVo> materialPropData;
    @ApiModelProperty("仓库库存数据")
    private List<ESPickInventoryStockVo> warehouseData;
    @ApiModelProperty("采购数据")
    private List<ESPickInventoryPurchaseVo> purchaseData;

}
